home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / thinkref / archive / THINKPascalUH2.1.sea / THINKPas Univ Hdr 2.1 / Interfaces / CMAcceleration.p < prev    next >
Text File  |  1995-09-14  |  4KB  |  107 lines

  1. { Converted with MPW2TPas Tuesday, September 12, 1995 5:20:31 PM }
  2. {}
  3. {     File:        CMAcceleration.p}
  4. { }
  5. {     Contains:    ColorSync 2.0 Acceleration Component Interfaces}
  6. { }
  7. {     Version:    Technology:    ColorSync 2.0}
  8. {                 Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18}
  9. { }
  10. {     Copyright:    © 1984-1995 by Apple Computer, Inc.}
  11. {                 All rights reserved.}
  12. { }
  13. {     Bugs?:        If you find a problem with this file, use the Apple Bug Reporter}
  14. {                 stack.  Include the file and version information (from above)}
  15. {                 in the problem description and send to:}
  16. {                     Internet:    apple.bugs@applelink.apple.com}
  17. {                     AppleLink:    APPLE.BUGS}
  18. { }
  19. {}
  20.  
  21. unit CMAcceleration;
  22. interface
  23.  
  24.  
  25. {$IFC UNDEFINED __CMACCELERATION__}
  26. {$SETC __CMACCELERATION__ := 1}
  27.  
  28.     uses
  29.         ConditionalMacros, Types, Memory, Components, Quickdraw, Dialogs, Printing, CMICCProfile, CMApplication;
  30.  
  31. { $PUSH}
  32. { $ALIGN MAC68K}
  33. { $LibExport+}
  34.  
  35.     const
  36.         cmAccelerationInterfaceVersion = 1;
  37.  
  38. {–––––––––––––––––––––––––––––––––––––– Component Type}
  39.         cmAccelerationComponentType = 'csac';
  40.  
  41. {–––––––––––––––––––––––––––––––––––––– Required Component function selectors}
  42.         cmLoadTables = 0;
  43.         cmCalculateData = 1;
  44.  
  45. {–––––––––––––––––––––––––––––––––––––– table data for acceleration component}
  46.  
  47.     type
  48.         CMAccelerationTableData = record
  49.                 inputLutEntryCount: LONGINT;                                { count of entries for input lut for one dimension}
  50.                 inputLutWordSize: LONGINT;                                { count of bits of each entry ( e.g. 16 for WORD )}
  51.                 inputLut: Handle;                                    { handle to input lut}
  52.                 outputLutEntryCount: LONGINT;                                { count of entries for output lut for one dimension    }
  53.                 outputLutWordSize: LONGINT;                                { count of bits of each entry ( e.g. 8 for BYTE )}
  54.                 outputLut: Handle;                                    { handle to output lut}
  55.                 colorLutInDim: LONGINT;                                { input dimension  ( e.g. 3 for LAB ; 4 for CMYK )}
  56.                 colorLutOutDim: LONGINT;                                { output dimension ( e.g. 3 for LAB ; 4 for CMYK )}
  57.                 colorLutGridPoints: LONGINT;                                { count of gridpoints for color lut ( for one Dimension )    }
  58.                 colorLutWordSize: LONGINT;                                { count of bits of each entry ( e.g. 8 for BYTE )}
  59.                 colorLut: Handle;                                    { handle to color lut}
  60.                 inputColorSpace: CMBitmapColorSpace;                        { packing info for input}
  61.                 outputColorSpace: CMBitmapColorSpace;                        { packing info for output}
  62.                 userData: Ptr;
  63.                 reserved1: LONGINT;
  64.                 reserved2: LONGINT;
  65.                 reserved3: LONGINT;
  66.                 reserved4: LONGINT;
  67.                 reserved5: LONGINT;
  68.             end;
  69.  
  70.         CMAccelerationTableDataPtr = ^CMAccelerationTableData;
  71.         CMAccelerationTableDataHdl = ^CMAccelerationTableDataPtr;
  72.  
  73. {–––––––––––––––––––––––––––––––––––––– calc data for acceleration component}
  74.         CMAccelerationCalcData = record
  75.                 pixelCount: LONGINT;                                { count of input pixels}
  76.                 inputData: Ptr;                                    { input array}
  77.                 outputData: Ptr;                                    { output array}
  78.                 reserved1: LONGINT;
  79.                 reserved2: LONGINT;
  80.             end;
  81.  
  82.         CMAccelerationCalcDataPtr = ^CMAccelerationCalcData;
  83.         CMAccelerationCalcDataHdl = ^CMAccelerationCalcDataPtr;
  84.  
  85. {————————————————————————————————————————————————————————————————————————————————————————————————}
  86. {                A c c e l e r a t i o n   C o m p o n e n t   I n t e r f a c e s}
  87. {————————————————————————————————————————————————————————————————————————————————————————————————}
  88.  
  89.     function CMAccelerationLoadTables (CMSession: ComponentInstance; tableData: CMAccelerationTableDataPtr): CMError;
  90.     {$IFC NOT GENERATINGCFM}
  91.     inline
  92.         $2F3C, $0004, $0000, $7000, $A82A;
  93.     {$ENDC}
  94.     function CMAccelerationCalculateData (CMSession: ComponentInstance; calcData: CMAccelerationCalcDataPtr): CMError;
  95.     {$IFC NOT GENERATINGCFM}
  96.     inline
  97.         $2F3C, $0004, $0001, $7000, $A82A;
  98.     {$ENDC}
  99.  
  100. { $ALIGN RESET}
  101. { $POP}
  102.  
  103. {$ENDC}
  104.  {__CMACCELERATION__}
  105.  
  106. implementation
  107. end.